home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Documentation to the Program
-
- IntCalc / IntCalcDeutsch
-
- Version 1.11 February 1993
-
-
-
-
-
-
-
-
-
-
- ******** ** ** ******** ****** ****** ** ******
- ******** *** ** ******** ******** ******** ** ********
- ** **** ** ** ** ** ** ** **
- ** ** ** ** ** ** ******** ** **
- ** ** **** ** ** ** ** ** **
- ******** ** *** ** ******** ** ** ******** ********
- ******** ** ** ** ****** ** ** ******** ******
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Written by Stefan Schulz
-
- Copyright (c) 1992/93 by Stefan Schulz (StS)
- All rights reserved
-
-
-
-
-
-
- CONTENTS
-
- IntCalc-Documentation
- Version 1.11
-
-
- 0 Contents I
- 1 Introduction 1
- 1.1 About this Documentation 1
- 1.2 Systemrequirement 1
- 1.3 What is IntCalc 1
- 1.4 The History of IntCalc 1
- 1.5 About the Author 2
- 1.6 Distribution 2
- 1.6.1 Copyrights 2
- 1.6.2 Updates 3
- 1.6.3 A little request 3
- 2 Functions-description 4
- 2.1 Starting up 4
- 2.2 Usage 4
- 2.2.1 The Gadgets 4
- 2.2.1.1 Close-Gadget 5
- 2.2.1.2 Depth-Gadget 5
- 2.2.1.3 Gadgets "0" to "9" and "A" to "F" 6
- 2.2.1.4 Mode-Gadget 6
- 2.2.1.5 Functions-Gadgets 6
- 2.2.1.6 Bracket-Gadgets 6
- 2.2.1.7 "CLR"-Gadget 6
- 2.2.1.8 "CE"-Gadget 6
- 2.2.1.9 "<-"-Gadget 6
- 2.2.1.10 Memory-Gadgets 7
- 2.2.2 The Displays 7
- 2.2.2.1 Main-Display 7
- 2.2.2.2 OpCode-Field 7
- 2.2.2.3 Memory-Field 7
- 2.2.3 Calculator-Attributes 8
- 2.2.3.1 Notation, Priorities and Limits 8
- 2.2.3.2 Special case: Power-function 8
- 2.2.3.3 Errormessages during calculation 8
- 2.2.3.4 End of program 9
- 2.2.4 The Sleep-Mode 10
- 2.2.4.1 HotKeys 10
- 2.2.4.2 Just gone sleep if called 10
- 2.2.5 Keyboard-usage 10
-
- Appendix
- A Update-Story 11
- B Future-Story 11
- C References 11
- C.1 Equipment 11
- D Acknowledgements 11
- E Address 12
- F Sorry 12
-
- - I -
-
-
-
-
- V1.10 IntCalc Documentation Page 1
-
-
- § 1 - Introduction
-
- IntCalc is a 32-Bit-Integer-Calculator operating to the typical
- bases 2 (Binary), 8 (Octal), 10 (Decimal) and 16 (Sedecimal). It
- supports the four standartoperations addition, subtraction, divi-
- sion and multiplication as well as the operations power, negation
- and modulo. Further a simple memory and infinite bracketlevels are
- implemented.
-
- o 1.1 - About this Documentation
-
- This document consists of two parts. The first part (this on)
- will tell you about general informations to the program. In the
- second part follows a detailed explanation of functions etc.
-
- o 1.2 - System-Requirements
-
- IntCalc should run at any Amiga system with Kickstart 1.2 or
- higher and with any configuration. If it does not, please approach
- me. My Address follows at the end of this documentation.
-
- IntCalc needs in the actual version no additional programs or
- libraries not included by original Operating System.
-
- o 1.3 - What is IntCalc
-
- IntCalc opens a pocket-calculator-like surface you can ..er..
- well.. calculate on. Both mouse and keyboard may be used for every
- action. The order of gadgets refers to the order of a Keyboard,
- except of Amiga 600 ones.
-
- An additional feature is the "Sleep-Mode", whereby the program
- will be switched to the background. Awaking the program it will
- appear at the first screen if possible. Because of this it is well
- qualified for programming, since you can open it anytime at your
- editor-screen, or probably let it disappear.
-
- o 1.4 - The history of IntCalc
-
- Programming around I noticed often to use my pocket calculator
- computing something or just transforming decimal to sedecimal re-
- presentation of numbers. Working with a computer I asked myself
- why not using a computer for computations, even my pocket calcula-
- tor has got no 32-Bit-Integers using the binary mode.
-
- I never found a usable program, which could be used at any
- screen. So I began to write a program on my own, and here it is.
-
-
-
-
-
-
-
-
-
-
- V1.10 IntCalc Documentation Page 2
-
-
- o 1.5 - About the Author
-
- I, Stefan Schulz - Author of this program - am 23 years old and
- at present I study Informatic at the University of Kaiserslautern.
- Starting study I thought about it like most of the people think,
- even Informatic is an expanded course of programming, never failed
- so much again. In real life less time programming rather learning
- theoretic or mathematic things about algorithms and so on.
-
- About a few years I am programming at Amiga using the M2Amiga-
- Development-System by A+L AG. It has not to be Assembler writing
- programs, even it is not worth-while programming greater software
- in low-level-languages, either prefering structured programming.
-
- Freeware means to me placing software to anybodys disposal free
- for charge. Furthermore I think every programmer must get the
- possibility to learn new things or compare with own programs, may
- be a learning effect appears. So I also pass all the sources with
- the program living in hope of responses.
-
- Well, just because of this here follows the section 1.6 where
- I tell you about the Distribution, since somebody is out there and
- wants to make money whithout permission.
-
- o 1.6 - Distribution
-
- 1.6.1 - Copyrights
-
- (c) Copyright 1992/93 byStefan Schulz (StS)
-
- This program is FREEWARE.
-
- That means, you can spread this program as long as no fee is
- made except to meet your charges.
-
- !! Through this I forbid the DISTRIBUTION of this program at
- !! PD-One-Program-Disks and also at PD-Series where the price
- !! exceeds 5 $ respectivly the equivalent amount in the currency
- !! of your country.
- !! Exceptions are ONLY possible owning a (hand)written Permission
- !! of the Author (hey that's me!).
-
- If anybody found this program having above attributes, please
- tell me.
-
- Any other PD-Serie may embed it without any question when they
- tell it to me with well detailed informations. If there exists a
- new version, I can inform you avoiding spreading an old version of
- my program.
-
-
-
-
-
-
-
-
- V1.10 IntCalc Documentation Page 3
-
-
- If this program is not still for using at disk or harddisk this
- textfile HAS TO BE with the program at this medium even in an UN-
- CHANGED FORM. So, please, if possible, do not copy this program
- single, because there may be anyone who does not understand the
- program to use without any documentation.
-
- I have never had one, I have never heared about and I am very
- sure that there is none, nevertheless:
-
- ! The Author is not liable for any direct or indirect caused
- ! damage using this program.
-
- 1.6.2 - Updates
-
- To get the newest version of this program just send an complete
- addressed and sufficient stamped envelope and a disk.
-
- For Comments, Questions, Errors or whatever: My Address follows
- at the end of this Documentation.
-
- 1.6.3 - A little request
-
- Just a little request: If you got this program, please send me
- a postcard, may be anonymus. Please tell me how and where you got
- this program and which version it is. Thank you for doing.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- V1.10 IntCalc Documentation Page 4
-
-
- § 2 - Functions-description
-
- This is the part of the documentation, where all the functions
- and attributes of IntCalc will be explained as detailed as need-
- ful.
-
- o 2.1 - Starting up
-
- IntCalc could be started up by CLI as well as by Workbench.
- Neither any parameters nor ToolTypes are required or will be used.
- The wholy operations are only accessable about the opened Window.
-
- There are at present two similar versions of IntCalc. The eng-
- lish one named IntCalc and the german one called IntCalcDeutsch.
- The only difference between both versions is the language used for
- communication.
-
- To run the program from CLI just call:
-
- IntCalc
-
- respectively
-
- IntCalcDeutsch
-
- To run it from Workbench just double-click the program-icon.
-
- There can only be ONE IntCalc at the same Time!! Running more
- than one times the user got a message-requester which announce
- this fact to him. This limitation based upon the intention that it
- does not make sense running a program twice or more times which
- anyway runs in the background and is portable to (nearly) any of
- the screens used by other programs. Just wasting memory.
-
- o 2.2 - Usage
-
- If the program starts and no Requester containing an Error-
- message appears, a window with a lot of Gadgets and Texts will be
- opened.
-
- 2.2.1 - The Gadgets
-
- The descriptions following in this second part of documentation
- refer to the following schematic representation.
-
-
-
-
-
-
-
-
-
-
-
-
-
- V1.10 IntCalc Documentation Page 5
-
-
- The window looks nearly like this:
-
- DepthGadgets ------------------\-\
- (since Kick 2.0 still one) | |
- +---------------------------------------------+v+v+
- CloseGadget -->|IntCalc V1.11 |#|#|
- +---------------------------------------------+-+-+
- |+-----------------------------------------------+|
- Main-Display ---> 0||
- |+-----------------------------------------------+|
- |+---++---+ +---++---++---++---++---++---+|
- OpCode -------> || | | A || B || C || D || E || F ||
- |+---++-^-+ +---++---++---++---++---++---+|
- | | +---++-----++-----++---++---++---++---+|
- Memory -----+------/ |<- || CLR || CE || ( || ) || ÷ || × ||
- | +---++-----++-----++---++---++---++---+|
- | +---++---++---++---+|
- | | 7 || 8 || 9 || - ||
- | +---++---++---++---+|
- |+-----+ +---+ +---++---++---++---+|
- || x^y | |MR | | 4 || 5 || 6 || + ||
- |+-----+ +---+ +---++---++---++---+|
- |+-----++-----++---++---++---++---++---++---++---+|
- || +/- || MOD ||M+ ||MS ||M- || 1 || 2 || 3 || ||
- |+-----++-----++---++---++---++---++---++---+| = ||
- |+---------------------------++--------+ | ||
- Mode ------->|@| Decimal || 0 | | ||
- |+---------------------------++--------+ +---+|
- +-------------------------------------------------+
-
- 2.2.1.1 - Close-Gadget
-
- The Close-Gadget has more than one functions. First it may be
- used setting the program into the "Sleep"-Mode. This will be done
- just by clicking the Close-Gadget. The window will be closed and
- the program still waits in the background for receiving the re-
- activating Hot-Keys (-»2.2.4). All actual entered values and
- operations are recognized and wont get lost. When reactivating the
- program the actual status before sleeping will be recovered.
-
- Holding down any Shift-Key during clicking the Close-Gadget the
- program will be stopped. The window will be closed and all resour-
- ces being used will be freed.
-
- Another function of the Close-Gadget is described in the later
- following section 2.2.3.2, because only in that special case it
- has the effect which is declared then.
-
-
-
-
-
-
-
-
-
-
- V1.10 IntCalc Documentation Page 6
-
-
- 2.2.1.2 - Depth-Gadget
-
- The Depth-Gadget has got the usual function. It lets you switch
- the window between fore- and background of a couple of windows, if
- there are any (with Kickstart 1.x there are two Gadgets).
-
- 2.2.1.3 - Gadgets "0" to "9" and "A" to "F"
-
- These 16 Gadgets are usable to enter the number you want to
- calculate with. The effect of using one of these Gadgets demands
- upon the actual base you are computing with. For simplicity the
- Gadgets wont be deactivated.
-
- Therefore in binary mode only the numbers "0" and "1", in octal
- mode the numbers "0" to "7", in decimal mode the numbers "0" to
- "9" and in sedecimal mode all numbers have got an effect.
-
- 2.2.1.4 - Mode-Gadget
-
- Using this Gadget you can choose the mode you want to compute
- with. See also section 2.2.3.1
-
- 2.2.1.5 - Functions-Gadgets
-
- The Gadgets "+", "-", "×" and "÷" have got the usual function
- as pocket computer have got. Remember that all operations working
- with integers, so "÷" is an Integer-Division.
-
- The gadget "x^y" corresponds to the Power-Function, the "+/-"-
- Gadget to the Negation and the "MOD"-Gadget to the Modulo- or also
- Remainder-Function.
-
- 2.2.1.6 - Bracket-Gadgets
-
- Well, these Gadgets have got the usual functionality brackets
- have got when computing.
-
- 2.2.1.7 - "CLR"-Gadget
-
- Using the "CLR"-Gadget (Clear) the calucator will be resetted,
- i.e., all entered functions and numbers will be killed out of me-
- mory, except the memory of course.
-
- 2.2.1.8 - "CE"-Gadget
-
- The "CE"-Gadget (ClearEntry) clears the actual entry.
-
- 2.2.1.9 - "<-"-Gadget
-
- Removes the last digit of an entered number.
-
-
-
-
-
-
-
- V1.10 IntCalc Documentation Page 7
-
-
- 2.2.1.10 - Memory-Gadgets
-
- To memorize a number the usual four pocket calculator functions
- are implemented.
-
- The "MR"-Gadget (Memory Recall) gets the memorized value and
- puts it to the display.
-
- The "MS"-Gadget (Memory Store) stores the actual value into the
- memory-buffer.
-
- The "M+"-Gadget (Memory Add) adds the actual value to the memo-
- rized one.
-
- The "M-"-Gadget (Memory Sub) subtracts the actuial value from
- the memorized one.
-
- 2.2.2 - The Displays
-
- The description of the display refer to the presentation in
- section 2.2.1.
-
- 2.2.2.1 - Main-Display
-
- The Main-Display is 32 Character long and will be used totally
- only in binary mode. Here the actual (inter-)results, the actual
- input of a number and errors, coming up during calculation, will
- be displayed.
-
- 2.2.2.2 - OpCode-Field
-
- In this field the actual OpCode of next to be calculated
- operation will be displayed. Herefore the following symbols will
- be used:
-
- + Addition
- - Subtraction
- * Multiplication
- / Division
- \ Modulo
- ^ Power
-
- 2.2.2.3 - Memory-Field
-
- If a "M" is displayed in this field, then there is a not null
- value memorized. Else the memory is empty.
-
-
-
-
-
-
-
-
-
-
-
- V1.10 IntCalc Documentation Page 8
-
-
- 2.2.3 - Calculator-Attributes
-
- 2.2.3.1 - Notation, Priorities and Limits
-
- IntCalc works with the usual infix-notation. That means the or-
- der of entering a calculation is operand operator operand.
- For Example: To calculate the product of 3 and 0 the following
- actions may be performed:
-
- Gadget 3 Gadget * Gadget 0 Gadget =
-
- The Result will appear at the main-display.
-
- All calculations are done with the usual priority. That means
- brackets before point- before stroke-calculations. The only ex-
- ception of any priority is the negation-operation, because of this
- function only needs one operand, even the actual one, it will be
- performed DIRECTLY.
-
- The representation of negative numbers is ONLY possible while
- decimal mode. Any other mode negative numbers will be displayed in
- computer-intern presentation with a leading 1.
-
- During computing IntCalc does NOT care about limit-overflows.
- These limits using 32-Bit-Numbers are:
-
- for Binary: 0 bis 11111111111111111111111111111111
- for Octal: 0 bis 37777777777
- for Decimal: -2147483648 bis 2147483647
- for Sedecimal: 0 bis FFFFFFFF
-
- For Example in decimal mode:
-
- 2147483647 + 1 = -2147483648
-
- 2.2.3.2 - Special-case: Power-function
-
- The power-function needs at present with great numbers a lot of
- time to calculate the result (if there is no turbo). Therefore you
- can break computing using the Close-Gadget (NOT the equivalent
- key). After this a message appears at main-display which has to
- be answered by the "CLR"-Gadget.
-
- 2.2.3.3 - Errormessages during calculation
-
- If any error appears during computing a message will be shown
- at main-display. This message must be answered by using the "CLR"-
- Gadget.
-
- The following Errors may appear:
-
-
-
-
-
-
-
- V1.10 IntCalc Documentation Page 9
-
-
- a) "ERROR: Divide by 0"
- During computation has been devided by 0.
- ( Comes up using "÷" and "MOD" when the second operand
- is equal to 0 )
-
- b) "ERROR: Undefined Power"
- Two Powers are not defined
- - 0 to the 0 power
- - negative exponents (this is an integer-calculator)
-
- c) "ERROR: Calculator-Stack-Overflow"
- The Number of operations is so high, that no memory is
- available for further Entries.
- This Error appears only if memory is filled up with
- foreign programs and datas or thousands of bracket-
- levels being used.
-
- 2.2.3.4 - End of program
-
- Finishing the program first all needed resources being freed.
- Possibly the program itself cannot be removed, because of the
- Screen-Patch cannot be removed.
-
- The sense of the Screen-Patch:
-
- In active mode the IntCalc-Window is anywhere at a foreign
- screen. If anyone want to close this screen, probably the owner
- of the screen, the Screen-Patch safes that the window will be
- closed before closing the screen.
- May be other programs patched the CloseScreen-Routine too,
- the correct address before patching could not re-set. So IntCalc
- waits upon it could do.
- In this case a requester appears at the screen containing the
- refering message.
-
- If the program finally could be removed another requester shows
- this to you.
-
- 2.2.4 - The Sleep-Mode
-
- 2.2.4.1 - HotKeys
-
- Mentioned in 2.2.1.1 IntCalc may be switched to Sleep-mode by
- using the Close-Gadget. The window disappears and IntCalc runs in
- the background.
-
- To awake the program there a HotKeys, IntCalc is waiting for
- when sleeping. These Hotkeys are still a combination of Keys,
- the program is looking for.
-
- IntCalc looks for two of these HotKeys:
-
-
-
-
-
-
- V1.10 IntCalc Documentation Page 10
-
-
- a) <Ctrl>-<Alt>-<C> :
- This combination of keys awakes the program. The status
- of before going to sleep will be recovered.
- The window appears at the first screen!
-
- b) <Ctrl>-<Alt>-<Shift>-<C> :
- The program stops. See 2.2.3.4 for further information
- about finishing the program.
-
- 2.2.4.2 - Just gone sleep if called
-
- In case just a requester appears by calling up IntCalc with the
- following contents: "Have to go sleep...", the window could not be
- opened at the first screen. The program does not abort but just
- enter the Sleep-Mode.
-
- 2.2.5 - Keyboard-usage
-
- Instead of gadgets you can use keys to use the calculator. To
- any gadget there are one or more keys with the similar function
- the gadget performes. REMARK: The window must be activated!!
- Here follows a list of all gadgets and equivalent Keys:
-
- Gadget(s) | Key(s)
- ----------------+----------------------------------------------
- 0 to 9 | 0 to 9 (also Numerik Pad)
- A to F | A to F (also lower case and F5 to F10)
- ( | (,[,{ (also Numerik Pad)
- ) | ),],} (also Numerik Pad)
- ÷ | / (also Numerik Pad)
- × | * (also Numerik Pad)
- - | - (also Numerik Pad)
- + | + (also Numerik Pad)
- = | <Return> (also <Enter>)
- x^y | H (also lower case)
- MOD | M (also lower case and \)
- +/- | N (also lower case)
- CE | <Help>
- CLR | <Del>
- <- | Backspace < <- >
- MR | Cursorkey: Arrow up
- MS | Cursorkey: Arrow down
- M+ | Cursorkey: Arrow right
- M- | Cursorkey: Arrow left
- Mode | <Spacebar>
- Close | <Esc> (except special case 2.2.3.2)
- <Shift>-Close | <Shift>-<Esc>
-
-
-
-
-
-
-
-
-
-
- V1.10 IntCalc Documentation Page 11
-
-
- Appendix A - Update Story
-
- Version 1.00 done in august 1992 (old name CalcBoy)
-
- Version 1.01 done in september 1992 (old name CalcBoy
- removed a little bug still producing a guru
-
- Version 1.10 done in january 1993
- created two-language-version, rewritten docu-
- mentation (totally new)
- new screenpatch-routine
-
- Version 1.11 done in february 1993
- no longer ugly mistakes using other fonts than
- topaz under kick since 2.0
-
- Appendix B - Future Story
-
- What I want to do in future with IntCalc:
-
- - Supporting locale.library (when appears)
- - Speed up the Power-Function
- - Signed AND unsigned numbers
-
- Anhang C - References
-
- C.1 - Equipment
-
- To create this program there where some instruments used:
-
- + M2Amiga Development-System Version 4.0
- by A+L AG, Swiss
- + CygnusEd Professional release 2.12
- by CygnusSoft Software developed by ASDG Inc.
- + DirectoryOpus v3.41
- by Jonathan Potter developed by INOVAtronics
- + Commodore Amiga 500 revision 5.2, Kickstart 1.2, 1.3
- and 2.0
- + Kickstart-Switch by HK/Vector, Cologne
- + SUPRA 500XP - Hard-Disk with 2 MByte external memory
- + Golden Image GI-6000
- + MMBShift by Preben Nielsen (Public Domain - FF547)
-
- Appendix D - Acknowledgments
-
- Thanks go to:
-
- * Marting Buch and Heiko Schulz
- - discovering nearly at the same time an error
- in the program
-
-
-
-
-
-
-
- V1.10 IntCalc Documentation Page 12
-
-
- Appendix E - Address
-
- This is my actual address, mentioned some times before in this
- documentation:
-
- Stefan Schulz
-
- Kurt-Schumacher-Straße 48
-
- D-6750 Kaiserlautern (Germany)
-
- This address is probably valid until September 1994!
-
- Even E-Mail is possible as long as my address is valid:
-
- s_schul@poker.informatik.uni-kl.de
-
- Appendix F - Sorry
-
- Yes, I am very very sorry about my ugly english. Please do not
- curse me about it.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-